from datetime import datetime, timedelta
from chinese_calendar import is_workday


def calculate_workdays(target_date_str):
    start_date = datetime(2025, 3, 31)
    target_date = datetime.strptime(target_date_str, '%Y%m%d')
    workdays = 0
    current_date = start_date
    while current_date < target_date:
        if is_workday(current_date):
            workdays += 1
        # 使用 timedelta 安全地增加一天
        current_date = current_date + timedelta(days=1)
    return workdays


if __name__ == "__main__":
    target_date_str = input("请输入目标日期（格式：YYYYMMDD）：")
    workdays = calculate_workdays(target_date_str)
    print(
        f"从2025年3月31日到{datetime.strptime(target_date_str, '%Y%m%d').strftime('%Y年%m月%d日')}（不包含输入日期），除去中国节假日和双休，共工作了{workdays}天。")
